package method;

import java.util.ArrayList;
import java.util.Collections;
import java.util.function.Consumer;

/*
方法引用是对lambda表达式的简化
 */
public class Demo1 {
    public static void main(String[] args) {
        ArrayList<String> list = new ArrayList<>();
        Collections.addAll(list, "A", "B", "C");
        //方法调用使用.
        //方法引用使用::
        //参数：可推导可省略原则
        //若方法非静态，使用对象名::方法
        list.forEach(Demo1::method);

    }
    public static void method(String s) {
        System.out.println(s.toLowerCase());
    }

    private static void show(ArrayList<String> list) {
        //1.匿名内部类
        list.forEach(new Consumer<String>() {
            @Override
            public void accept(String s) {
                System.out.println(s);
            }
        });
        //2.lambda表达式
        list.forEach(s->System.out.println(s));
        //3.方法引用
        list.forEach(System.out::println);
    }
}
